//
//  WBWelcomeView.swift
//  weibo
//
//  Created by iobit on 2017/07/04.
//  Copyright © 2017 zhuxu. All rights reserved.
//

import UIKit
import SDWebImage


class WBWelcomeView: UIView {

    @IBOutlet weak var bottomCons: NSLayoutConstraint!
    @IBOutlet weak var tipLabel: UILabel!
    @IBOutlet weak var iconView: UIImageView!

    class func welcomeView()->WBWelcomeView {

        let nib = UINib(nibName: "WBWelcomeView", bundle: nil)
        let v = nib.instantiate(withOwner: nil, options: nil)[0] as! WBWelcomeView
        // 从XIB加载的视图，默认是600*600
        v.frame = UIScreen.main.bounds
        return v
    }
    
    
    required init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
        // initWithCoder 只是刚刚从XIB的二进制文件将视图数据加载完成
        // 还没有和代码连线建立起关系，所以开发是，不能在此方法中处理UI
        
    }
    
    override func awakeFromNib() {
        
        guard let urlString = WBNetWorkManager.shared.userAccount.avatar_large,
            let url = URL(string: urlString)
            else {
            return
        }
        
        // 设置头像，如果网络图像没有下载完成，先显示占位图像
        // 如果不指定占位图像，之前设置的图像会被清空
        iconView.sd_setImage(with: url, placeholderImage: UIImage(named: "avatar_default_big"))
        
        // 设置圆角
        iconView.layer.cornerRadius = iconView.bounds.size.width*0.5
        iconView.layer.masksToBounds = true
        
    }
    
    
    
    
    
    ///  自动布局系统更新完成约束后，会自动调用此方法
    /// 通常是对子视图布局进行修改
//    override func layoutSubviews() {
//
//    }
    
    
    /// 视图添加到windows上，表示视图已经显示
    override func didMoveToWindow() {
        super.didMoveToWindow()
        // 视图是使用自动布局来设置的，只是设置了约束
        // 当视图被添加到窗口上时，根据父视图的大小，计算约束值，更新控件位置
        self.layoutIfNeeded()
        
        bottomCons.constant = bounds.size.height-200
        
        UIView.animate(withDuration: 1.5, delay: 0, usingSpringWithDamping: 0.7, initialSpringVelocity: 0, options: [], animations: {
            // 更新约束
            self.layoutIfNeeded()
        }) { (_) in
            UIView.animate(withDuration: 1.0, animations: { 
                self.tipLabel.alpha = 1
            }, completion: { (_) in
                // 动画完成后消失
                self.removeFromSuperview()
            })
        }
    }
    
    
    
}


